home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The X-Philes (2nd Revision)
/
The X-Philes Number 1 (1995).iso
/
xphiles
/
hp48_2
/
tomtools
< prev
next >
Wrap
Internet Message Format
|
1995-03-31
|
3KB
From conte@crest.csg.uiuc.edu Mon Apr 9 18:11:54 1990
From: conte@crest.csg.uiuc.edu (Tom Conte)
Newsgroups: comp.sys.handhelds
Subject: Two tools for 48sx
Keywords: 48sx, hp
Date: 8 Apr 90 21:40:19 GMT
Reply-To: conte@crest.csg.uiuc.edu (Tom Conte)
Organization: University of Illinois at Urbana
Here are two tools I've found useful for the 48sx. Included is also
one open question...
The first uses vectored enters to perform a nice `printerless printer'
interface: every operation is displayed in the status area. For example,
6 ENTER 5 + 7 / would first display 6 in the status area, then "5 +",
then "7 /". I've found this real, real handy in a test/pressure situation
where I wanted to make sure I had just hit the right key. With a litte
alteration, this can be turned into a trace mode for the printer.
[sorry, no serial cable yet, I've done my best to make it easy on
those who have a cable]
xsum: #1E19h, bytes: 27
'\GaENTER' @ \Ga means `alpha', right-shifted A
\<< DUP 'L' STO OBJ\-> \>>
xsum: #1D8Dh, bytes: 71
'\GbENTER' @ \Gb means `beta', right-shifted B
\<< 'L' RCL " " ROT "\010" @ a new-line
+ + + 1 DISP 1 FREEZE "" 'L' STO \>>
xsum: #A657h, bytes: 53
'PPON'
\<< -62 -63 SF SF "" 'L' STO \>>
xsum: #44ADh, bytes: 48
'PPOFF'
\<< -62 -63 CF CF 'L' PURGE \>>
The second tool is useful for finding out the USER-mode bindings of
a key. You execute SKEY and then hit a key, and it shows you all
the assignments for that key.
xsum: #DB67h, bytes: 371.5
'SKEY'
\<< 10 CF
"Press key to see\010its assignments:"
1 DISP 1 FREEZE
WHILE KEY 0 ==
REPEAT
END LASTARG DROP
{ " :" " L:" " R:"
" \Ga:" "L\Ga:" "R\Ga:" } @ \Ga means `alpha', right-shifted A
RCLKEYS \-> k l a @ just a plain old lower-case "K L A" here
\<< "" 1 6
FOR i l i GET a @ lower-case a
k i 10 / + POS
IF DUP 0 \=/ @ \=/ is the not-equals sign, right-shifted Y
THEN 1 - a @ lower-case a
SWAP GET \->STR 10 SF
ELSE DROP ""
END "\010" @ a new-line
+ + +
NEXT
IF 10 FC?
THEN DROP
"No assignments\010" @ a new-line
END 1 DISP 3
FREEZE
\>>
\>>
And now the question: the above, when confronted with a string that contains
a new-line, will DISPlay it in multi-line form. But this is cumbersome, since
I would like to restrict output to a single line, perhaps terminating with
a "...". In other words, I would like to display a string the way the oper-
ating system does when the string is in levels 2 or greater. Any clues how
to do this?
------
Tom Conte Center for Reliable and High-Performance Computing
conte@uiuc.edu University of Illinois, Urbana-Champaign, Illinois